package com.sxt.demo.djiapplication.map

import android.content.Context
import java.lang.RuntimeException

/**
 * 操作地图的公共接口
 * 作用: 解耦
 * tip: 需要针对不同地图厂商sdk进行实现以达到效果
 */
@Suppress("unused")
interface IMap<T> {

    val context: Context

    companion object {
        const val ZH_CN = "zh_cn"
        const val EN = "en"
    }

    /**
     * 设置地图点击事件
     */
    fun setOnMapClickListener(listener: OnMapClickListener)

    /**
     * 向地图添加一个标记点
     */
    fun addMarker(markerSets: MarkerSets): T

    /**
     * 移动地图到指定点
     */
    fun moveCamera(action: () -> Any) {
        throw RuntimeException("对应地图厂商不支持此方法")
    }

    /**
     * 当标记点被点击时的事件
     */
    fun setOnMarkerClickListener(listener: OnMarkerClickListener)

    /**
     * 设置地图语言
     */
    fun setMapLanguage(language: String) {
        throw RuntimeException("对应地图厂商不支持此方法")
    }

}